"""
    直方图
        cv.calcHist(images, channels, mask, histSize, ranges, hist, accumulate)
            参数：
                images:原图像，当传入函数时应该用中括号[]括起来，例如[img]
                channels：如果输入图像是灰度图，它的值就是[0]，如果是彩色图像的话，传入的参数可以是[0],[1],[2]，它们对应着通道B,G,R
                mask:掩模图像。要统计整幅画的直方图就把它设为None，但是如果你想统计图像某一部分的直方图的话，就需要制作掩模图像，并使用它
                histSize:BIN的数目。也应该用中括号括起来[],例如[256]
                ranges:像素值范围，通常为[0, 256]
"""
import numpy as np
import cv2 as cv
import matplotlib.pyplot as plt

# 1. 读取图像
img = cv.imread("image/cat.jpeg", 0)

plt.imshow(img, cmap=plt.cm.gray)
plt.show()

# 2. 统计灰度图
histr = cv.calcHist([img], [0], None, [256], [0, 256])

# 3. 绘制灰度图
plt.figure(figsize=(10, 6), dpi=100)
plt.plot(histr)
plt.grid()
plt.show()



